// pages/nickname-edit/nickname-edit.js
Page({
  data: {
    newNickname: ''
  },

  onNicknameInput(e) {
    this.setData({
      newNickname: e.detail.value
    });
  },

  saveNickname() {
    const { newNickname } = this.data;
    if (!newNickname) {
      wx.showToast({
        title: '昵称不能为空',
        icon: 'none'
      });
      return;
    }
    
    const userId = this.getUserId(); // 使用 getUserId 方法获取用户 ID
    if (!userId) {
      wx.showToast({
        title: '无法获取用户 ID',
        icon: 'none'
      });
      return;
    }

    wx.cloud.callFunction({
      name: 'updateNickname',
      data: {
        userId: userId, // 传递用户 ID
        newNickname: newNickname
      },
      success: res => {
        if (res.result.success) {
          wx.showToast({
            title: '昵称更新成功',
            icon: 'success'
          });
          this.setData({
            userInfo: { nickname: newNickname }
          });
          // 更新本地存储的用户信息
          wx.setStorageSync('userInfo', this.data.userInfo);
        } else {
          wx.showToast({
            title: '更新失败：'
             + (res.result.message || '未知错误'),
            icon: 'none'
          });
        }
      },
      fail: err => {
        wx.showToast({
          title: '网络错误',
          icon: 'none'
        });
        console.error('调用失败', err);
      }
    });
  },

  getUserId() {
    // 从本地存储中获取用户信息
    const userInfo = wx.getStorageSync('userInfo') || {};
    // 确保用户信息中包含 userId 字段
    if (userInfo.userId) {
      return userInfo.userId;
    } else {
      console.error('用户 ID 未找到');
      return null;
    }
  }
});